#include<bits/stdc++.h>
using namespace std;
int a[1000000];
int len=0;
int main(){
	map<int,int> m;
	int n,c;
	int l=0,r=-1,ans1,ans2;
	cin>>n>>c;
	for(int i=0;i<n;i++){
		cin>>a[i];
	}
	for(r=0;r<n&&c!=len;r++){
		if(m[a[r]]<=0)
		len++;
		m[a[r]]++;
	}
	while(m[a[l]]>1){
		m[a[l]]--;
		l++;
	}
	ans1=l,ans2=r-1;
	for(;r<n;r++){
		m[a[r]]++;
		while(m[a[l]]>1){
			m[a[l]]--;
			l++;
		}
		if(r-l<ans2-ans1){
			ans1=l;
			ans2=r;
		}
	}
	cout<<ans1+1<<' '<<ans2+1; 
} 















//#include<bits/stdc++.h>
//using namespace std;
//int d[1000000];
//int s[10000];
//int e[10000];
//int len[10000];
//int main(){
//	map<int,int> count;
//	int n,m;
//	cin>>n>>m;
//	for(int i=0;i<n;i++){
//		cin>>d[i];
//	}
//	int c,index,l;
//	l=index=0;
//	c=0;
//	for(int i=0;i<n;i++){
//		if(count[d[i]]<=0){
//			c++;
//		}
//		count[d[i]]++;
//		
//		while(count[d[l]]>1){
//			count[d[l]]--;
//			l++;
//		}
//		
//		if(c==m){
//			s[index]=l;
//			e[index]=i+1;
//			len[index++]=i-l; 
//		}
//	}
//	cout<<c<<endl;
//	
//	int indexs=0,min=9999999;
//	for(int i=0;i<index;i++){
//		if(min>len[i]){
//			min=len[i];
//			indexs=i;
//		}
//	}
//	for(int i=0;i<index;i++){
//		cout<<s[i]<<' '<<e[i]<<endl;
//	}
//	cout<<indexs<<endl;
//	cout<<s[indexs]+1<<' '<<e[indexs]; 
//}

/*
#include<stdio.h>
int m[2001],num;
int n[1000000];
int main()
{
    int R=-1,L=0,N,M,t,i=0,ansL,ansR;
    scanf("%d%d",&N,&M);
    for(i=0;i<N;i++)
    scanf("%d",n+i);
    i=0;
    while(num!=M)
    {
        if(m[n[i]]==0)num++;
        m[n[i]]++;
        R++;
        i++;
    }
    while(m[n[L]]>1)
        m[n[L++]]--;
    ansL=L;ansR=R;
    while(i<N)
    {
        m[n[i]]++;
        R++;
        i++;
        while(m[n[L]]>1)
            m[n[L++]]--;
        if(ansR-ansL>R-L)
        {
            ansR=R;
            ansL=L;
        }
    }
    printf("%d %d",ansL+1,ansR+1);
}
*/
